package cn.kow.kmall.system.service;

import cn.kow.kmall.system.entity.SysMenu;
import cn.kow.kmall.system.entity.SysUser;
import cn.kow.kmall.admin.pojo.dto.MenuQueryDTO;

import java.util.List;

/**
 * @Author: lijun
 * @Description:
 * @Date: Created in 2019-10-29 18:27
 * @Modified By:
 */
public interface SysMenuService {

    /**
     * 保存菜单
     * @param menu
     */
    void save(SysMenu menu);

    /**
     * 删除菜单
     * @param id
     */
    void remove(Long id);

    /**
     * 更新菜单
     * @param menu
     */
    void update(SysMenu menu);

    /**
     * 根据ID查询菜单
     * @param id
     * @return 菜单
     */
    SysMenu getById(Long id);

    List<SysMenu> listByIds(List<Long> ids);

    /**
     * 查询菜单列表
     * @param queryDTO  菜单名称
     * @return 菜单
     */
    List<SysMenu> listMenu(MenuQueryDTO queryDTO);

    /**
     * 根据用户查询菜单
     * @param sysUser   用户
     * @return 菜单
     */
    List<SysMenu> listMenuByUser(SysUser sysUser);
}
